1. Field of the Invention
In general, the present invention provides a method, system and program product for replicating message status changes across (replica) messaging systems. In addition, the present invention provides a method, system and program product for maintaining log chronology for message status changes replicated across the messaging systems.
2. Related Art
As the use of electronic messaging such as electronic mail becomes more pervasive, there is a growing need to provide replication among electronic mail systems. Specifically, due to the distributed nature of many of today's computing infrastructures, many organizations could benefit from the redundancy provided in having multiple replicas of its electronic mail system. In such a system, each such replica could contain a database that tracks the activity of each user. For example, as a user of system “A” reads a message, a corresponding entry could be made in the database of system “A.” A similar entry would be made if the user later marked the same message as “unread.” If system “B” is a replica of system “A,” such entries should be replicated thereto. Unfortunately, no existing system currently provides an optimal way to make such replication. That is, no existing system provides a way to optimally ensure that each replica has an identical view of each user's activity. This is especially the case, for example, where a user changes a status of a message to “read” on system “A” and later to “unread” on system “B.” In such a scenario, there currently no way to ensure that the both systems reflect identical versions of the most recent information.
Additional problems would exist in maintaining log chronology for message status changes. Specifically, as is known, the clocks of computer systems within a distributed network are often not synchronized. Accordingly, the clock for system “A” could report a time of 1:00 PM, while the clock for system “B” could report a time of 1:10 PM. With such differences, there is a chance that a more recent status change on a particular system could be improperly “trumped” by a previous status change replicated from another system. This is yet another issue no current system addresses.
In view of the foregoing, there exists a need for a method, system and program product for replicating message status changes across (replica) messaging systems. In addition, the need exists for a method, system and program product for maintaining log chronology for message status changes replicated across the messaging systems.